﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Biblio.Domain;
using System.Data;

namespace Biblio.DataAccess
{
    public class AutorRepo
    {
        private BiblioDbContext ctx;

        public AutorRepo(BiblioDbContext ctx) 
        {
            this.ctx = ctx;
        }

        public IList<Autor> Todas()
        {
            return this.ctx.Autores.ToList();
        }

        public Autor Obtener(int id)
        {
            return this.ctx.Autores.Find(id);

        }

        public void Modificar(Autor a)
        {
            this.ctx.Entry(a).State = EntityState.Modified;
            this.ctx.SaveChanges();
        }

        public void Agregar(Autor r)
        {
            this.ctx.Autores.Add(r);
            this.ctx.SaveChanges();
        }

        public void Eliminar(int id)
        {
            this.ctx.Autores.Remove(Obtener(id));
            this.ctx.SaveChanges();//ejecuta todas las querys en el EntityFramework no ejecutada.Commit.
        }
    }
}